home *** CD-ROM | disk | FTP | other *** search
/ Ian & Stuart's Australian Mac: Not for Sale / Another.not.for.sale (Australia).iso / fade into you / being there / Issues & Ideas / SGML / SGML.faq < prev    next >
Text File  |  1993-11-20  |  60KB  |  1,311 lines

  1.     ===================================================
  2.     COMP.TEXT.SGML - FREQUENTLY ASKED QUESTIONS(c) v1.1
  3.     ===================================================
  4.  
  5. UPDATED SECTIONS
  6. ================
  7.  
  8. 07) Added/updated: Agfa SDMS, DocuBuild SGML, MacroTag, SGML/CALS
  9. Translator, SGML Hammer, (Shafftstall) SGML Translator, Silversmith,
  10. TABLETAG, TagWorX.
  11.  
  12. 09) Added section on national/international Standards bodies.
  13.  
  14. INTRODUCTION
  15. ============
  16.  
  17. This article contains answers to questions that are frequently posted
  18. to comp.text.sgml,  it is intended for newcomers to the list and 
  19. SGML beginners. 
  20.  
  21. This FAQ is maintained on a voluntary basis, but any comments or 
  22. additional information are welcome (see final section).  It is a large
  23. file, and has to be split into two parts to guarantee safe transmission
  24. over the network (Part 1 contains sections 01-09, Part 2 contains
  25. sections 10-end).
  26.  
  27. CONTENTS
  28. ========
  29.  
  30. 01) What does "SGML" stand for?  What is SGML?
  31. 02) What can SGML be used for?
  32. 03) What do I need to use SGML?
  33. 04) Books, Bibliographies, Newsletters and Journals
  34. 05) Newsgroups and discussion lists
  35. 06) Public Domain software
  36. 07) Commerical software
  37. 08) ftp archives
  38. 09) The SGML Users' Group, National Chapters, SIGs, Standards bodies
  39. 10) Conferences
  40. 11) SGML initiatives and major projects
  41. 12) SGML and other Standards
  42. 13) Introductory questions with answers - by Erik Naggum
  43. 14) Making comments/additions to this FAQ
  44.  
  45. If any of the terms used in this FAQ are unfamiliar to you, consult
  46. the section on "Introductory questions with answers", the text of
  47. the SGML standard (see 01.1), or a good book on SGML (see below).
  48.  
  49.  
  50. 01) What does "SGML" stand for?  What is SGML?
  51. ==============================================
  52.  
  53. 01.1 SGML stands for the Standard Generalized Markup Language.  SGML is
  54. defined in ISO 8879:1986 "Information Processing -- Text and Office
  55. Systems -- Standard Generalized Markup Language (SGML)".  A copy of 
  56. this document can be obtained from the International Organization for
  57. Standardization (ISO) or your national standard body.  It is not
  58. available for ftp.
  59.  
  60. 01.2 SGML enables the description of structured information _independent_ 
  61. of how that information is processed.  It is a meta-language that provides
  62. a standard syntax for defining descriptions of classes of structured
  63. information; these descriptions are called document type definitions
  64. (DTDs).  Information can be "marked up" according to a DTD, so that its
  65. structure is made explicit and accessible.  The "markup" can be checked
  66. against a DTD to ensure that it is valid, and thus that the structure of
  67. the information conforms to that of the class described by the DTD.  
  68. Ensuring that information is structured in a known way greatly facilitates
  69. any subsequent use of that information.  For more information, beginners 
  70. should read Erik Naggum's "Introductory questions with answers" 
  71. (in this FAQ), consult ISO 8879 and/or a book on SGML (also in this FAQ).
  72.  
  73. 01.3 DTDs define the rules to structure information but do _not_ say how that 
  74. information should be processed.  Therefore, SGML and DTDs do not deal
  75. with how, say, a document should be processed for formatting on paper 
  76. (via LaTeX), display on-line (via Hypercard) , and mapping into a document
  77. database (via Oracle) -- but, having made the structure of the document 
  78. explicit, enables all these subsequent processes to use exactly 
  79. the same source document.  SGML is _not_ a replacement for defacto 
  80. standards such as TeX or PostScript.
  81.  
  82. 01.4 SGML is non-proprietary.  Publication and amendments to the International
  83. Standard are controlled solely by the ISO.  
  84.  
  85. 01.5 Use of SGML is not confined to any particular make or type of 
  86. computer or software. SGML-aware products are available for most types
  87. of machine.
  88.  
  89. 01.6 It is not user-unfriendly.  What SGML is, what it looks like "in the
  90. raw", and how other software is able to make use of SGML markup, will be
  91. of little concern to most users.  Sophisticated packages now exist to 
  92. create, edit, and manipulate information that has been marked up with SGML,
  93. e.g. quasi-WYSIWYG editors for creating SGML documents that conform to 
  94. any given valid DTD.
  95.  
  96.  
  97. 02) What can SGML be used for?
  98. ==============================
  99.  
  100. 02.1 Its uses are many and diverse. SGML DTDs (see 01.2) define the markup 
  101. and markup rules that can be used for a given class of documents (where
  102. "document" is a file of information). A DTD is usually written with
  103. some kind of end processing in mind - but since SGML markup is application
  104. independent, it means that documents that conform to a particular DTD
  105. can be re-used in a variety of different ways.
  106.  
  107. 02.2 For example, a document designer might write a DTD that enables the
  108. abstract of a scientific paper to be marked up as such.  The primary
  109. purpose is that the text identified as forming part of a paper's
  110. abstract can then be formatted in a particular way when the SGML source
  111. document is translated into a file usable by a text processing system.
  112. If, at some later date, it is decided that abstracts should be formatted
  113. in a different way, it is only necessary to alter the translation program
  114. and not every instance of an abstract in every paper that has to be
  115. (re-)printed out.  Moreover, knowing that in every document conforming
  116. to the particular DTD, abstracts will be identified as such, it is a
  117. trivial matter to combine papers supplied by several authors into a 
  118. collection that has a uniform physical appearance, or to produce a 
  119. catalogue of abstracts for publication or inclusion in a database.
  120.  
  121. 02.3 If you want to know whether SGML is appropriate for a particular task,
  122. consult the current discussion lists, journals, and Special Interest
  123. Groups (SIGs), and/or post to a newsgroup such as comp.text.sgml.  People
  124. are always willing and eager to hear about new ways that SGML might be
  125. used.
  126.  
  127.  
  128.  
  129. 03) What do I need to use SGML?
  130. ===============================
  131.  
  132. 03.1 In order to use SGML you will need an SGML parser (that conforms to
  133. ISO 8879), an entity manager, an editor to produce your DTDs and/or
  134. SGML documents, and probably some sort of translation program to convert
  135. your SGML documents into a form suitable for some specific processing.
  136. If you are planning to convert existing information into SGML documents,
  137. you will need some sort of "retro-tagging" or auto-conversion software.
  138.  
  139. 03.2 ISO 8879 contains very precise definitions of terms such as
  140. "SGML system", "SGML application", "SGML parser", "entity manager" and
  141. so on.  Users are advised to consult the text of ISO 8879 carefully, as
  142. mis-use of terms defined in the Standard can lead to misunderstandings.
  143.  
  144. 03.3 The following definitions are taken from ISO 8879, but readers are
  145. advised to consult the full text:
  146.  
  147.         4.279 SGML application: Rules that apply SGML to a text
  148.         processing application.  An SGML application includes a formal
  149.         specification of the markup constructs used in the application,
  150.         expressed in SGML.  It can also include a non-SGML definition of
  151.         semantics, application conventions, and/or processing.
  152.  
  153.     4.287 SGML system: A system that includes an SGML parser, an
  154.         entity manager, and both or either of:
  155.           a) an implementation of one or more SGML applications; and/or
  156.           b) facilities for a user to implement SGML applications, with
  157.              access to the SGML parser and entity manager.
  158.  
  159.         4.285 SGML parser: A program (or portion of a program or a
  160.         combination of programs) that recognizes markup in SGML 
  161.         documents.
  162.  
  163.         4.123 entity manager: A program (or portion of a program or a
  164.         combination of programs), such as a file system or symbol table,
  165.         that can maintain and provide access to multiple entities.
  166.  
  167.         4.120 entity: A collection of characters that can be referenced as
  168.         a unit.
  169.  
  170.         NB. In note (b) of the "Scope" section of ISO 8879:1986, it states
  171.         that the Standard does NOT "Specify the implementation, architecture,
  172.         or markup error handling of conforming systems".  In the glossary
  173.         to his book (see below) Eric Van Herwijnen defines "SGML 
  174.         implementation: A collection of SGML application procedures that....
  175.         provide the mapping from the structure defined by a given SGML
  176.         application to a concrete system such as a textformatter or a
  177.         database."
  178.  
  179. Note: Beginners may not find any of these definitions enlightening.  Be
  180. aware that some posters use the terminology of ISO 8879 very rigorously,
  181. whilst others are more lax.  This opens the door for misunderstandings.
  182. Unless you are sure that you are using terminology in the correct way, as
  183. taken from ISO 8879, please try to be as explicit and unambiguous as possible.
  184.  
  185. 03.4) Put simply, most users will obtain or write a DTD (see above).  If
  186. you write your own DTD, you will need to validate it using an SGML parser
  187. that conforms to ISO 8879.  To create SGML documents which conform to
  188. a DTD you will need an editor and a parser.  The editor is used to input
  189. information and insert SGML markup into the document;  the parser is used
  190. to check that the markup and the way it has been used conform to the
  191. rules given in the DTD.  Many commercial packages offer syntax-directed
  192. editors, which interactively ensure that any editing and markup operations
  193. conform to the rules of the DTD.
  194.  
  195. 03.5) Once you have a valid SGML document that conforms to a valid SGML
  196. DTD,  you may want to do some subsequent processing.  For example, in
  197. order to get paper output, you will need a program (or set of programs),
  198. that can read your SGML document and produce a file acceptable to your
  199. word processing package/text formatter.  With a well-known publicly 
  200. available DTD, it may be possible to obtain a translation package that
  201. has already been written; otherwise, you will need to write any translations
  202. required for subsequent processing yourself.
  203.  
  204. 03.6) Translating existing information into valid SGML documents can be
  205. more problematic.  SGML is good at handling structured information.  You
  206. will need to obtain/write a DTD which is suitable for representing the
  207. structure (in full or in part) of your existing information.  You will then
  208. need to obtain/write translations which can take your existing information
  209. and output it in an appropriate form that includes SGML markup which can be
  210. validated against your chosen DTD.  If your existing information already
  211. contains an unambiguous structure which is clearly indicated, it should
  212. be possible to convert this information into conforming SGML.  If your
  213. existing information is not clearly structured, or that structure is 
  214. ambiguous, conversion to SGML is much more hard work.  Complex information
  215. structures will also involve much more effort to translate into conforming 
  216. SGML.
  217.  
  218. 03.7) Always look out for existing DTDs/translation packages which may
  219. meet your needs.  If you write a DTD or means of translating to/from
  220. SGML, consider sharing it with the rest of the SGML user community
  221. (post it to a newsgroup or ftp site).  This is a good way for all of us
  222. to have access to well-written, tried and tested DTDs etc.
  223.  
  224.  
  225. 04) Books, Bibliographies, Newsletters and Journals
  226. ===================================================
  227.  
  228. This list does not pretend to be complete, nor does it offer any value
  229. judgements about any of the products listed.  Items in each category
  230. are given in alphabetical order by author/title.
  231.  
  232. Some items are available at discounted rates to members of the SGML Users'
  233. Group or the Graphics Communication Association (GCA) - see below.
  234.  
  235. Note: Robin Cover's on-line bibliography contains many more references,
  236. and much more information on each text.
  237.  
  238.  
  239. 04.1 Books:
  240.  
  241. BRYAN, Martin "SGML: an author's guide to the standard generalized markup
  242. language".  Wokingham/Reading/New York: Addison-Wesley. 1988. 380 pages.
  243. ISBN: 0-201-17535-5 (pbk).
  244.  
  245. GOLDFARB, Charles "The SGML Handbook". Oxford: Oxford University Press. 1990.
  246. 688 pages. ISBN: 0-19-853737-9 (hbk).
  247.  
  248. HERWIJNEN, Eric van "Practical SGML". Dordrecht/Boston/London: Kluwer
  249. Academic Publishers. 1990. 307 pages. ISBN 0-7923-0635-X (pbk).
  250.  
  251. SMITH, Joan & STUTELY, Robert "SGML:the users' guide to ISO 8879". New York/
  252. Chichester/Brisbane/Toronto:  Ellis Horwood Limited/Halstead Press. 1988. 
  253. 173 pages. ISBN 0-7458-0221-4 (Ellis Horwood Limited) (hbk).  
  254. ISBN 0-470-21126-1 (Halstead Press)(hbk).
  255.  
  256. SOFTQUAD Inc. "The SGML Primer". Toronto: SoftQuad Inc.  Private printing,
  257. available from SoftQuad Inc.
  258.  
  259.  
  260. 04.2 Bibliographies:
  261.  
  262. COVER, Robin & DUNCAN, Nicholas & BARNARD, David "BIBLIOGRAPHY ON SGML 
  263. (Standard Generalized Markup Language) AND RELATED ISSUES Technical 
  264. Report 91-299). Ontario: Queen's University at Kingston. 1991. 312 pages. 
  265. ISSN 0836-0227. 1991 Cost $21.00 (Canadian). Contact: Doug Hamilton,
  266. Dept. of Computing & Information Science. Goodwin Hall, Queen's University,
  267. Kingston, Ontario, CANADA K7L 3N6. Phone: (1-613) 545-6056.  Email 
  268. (Internet): hamilton@qucis.queensu.ca
  269.  
  270. COVER, Robin "STANDARD GENERALIZED MARKUP LANGUAGE, ISO 8879:1986 (SGML)
  271. ANNOTATED BIBLIOGRAPHY AND LIST OF RESOURCES" version 2.0 Revised
  272. January 1992. (c) Robin Cover.  Available on-line from many ftp sites.
  273. Updates posted to comp.text.sgml etc.  Contact: Robin Cover 6634 Sarah
  274. Drive, Dallas, TX 75236 USA.  Phone: (214) 296-1783. Fax: (214) 709-3387.
  275. Email (Internet): robin@utafll.uta.edu.
  276.  
  277.  
  278. 04.3 Newsletters & Journals:
  279.  
  280. Note:  There are several journals dedicated to CALS - see Robin Cover's
  281. on-line Bibliography or contact the CALS SIG of the International SGML
  282. Users' Group for details.
  283.  
  284. "EPSIG News" - A quarterly publication of information relating to the
  285. ANSI/NISO manuscript standard Z39.59-1988 (also known as the "AAP"
  286. standard).  Avaiable through EPSIG (address below). ISSN 1042-3737.
  287.  
  288. "SGML Users' Group Newsletter" - An occasional publication of news, events,
  289. product announcements and short articles available through the 
  290. International SGML Users' Group (address below). ISSN 0952-8008
  291.  
  292. "SGML Users' Group Bulletin" - Longer/more technical papers than appear
  293. in the SGML Users' Group Newsletter.  Available through the International
  294. SGML Users' Group (address below).  ISSN 0269-2538.
  295.  
  296. "SGML SIGhyper Newsletter" - An occasional publication of the SGML Users'
  297. Group Special Interest Group on Hypertext and Multimedia (SIGhyper).
  298. Available through SGML SIGhyper (address below).
  299.  
  300. "<TAG> The SGML Newsletter" - Managing Editor: Brian Travis (Internet email:
  301. brian@sgmlinc.com). 12 issues per year.  Contact: Graphic 
  302. Communications Association. Phone: +1 703-519-8157. Fax: +1 703-548-2867.
  303.  
  304.  
  305.  
  306. 05) Newsgroups and discussion lists
  307. ===================================
  308.  
  309. 05.1 Newsgroups
  310.  
  311. comp.text.sgml - this usenet newsgroup.  The main electronic forum for
  312. discussion of SGML and closely related matters.  Begun in late 1990.
  313. All postings are archived at the ftp site maintained at Oslo University
  314. in Norway (searching via WAIS and gopher is possible).
  315.  
  316. sgml@ifi.uio.no - electronic mailing list that echoes all postings to
  317. comp.text.sgml for those who have difficulties with usenet news.  To
  318. subscribe:
  319.         mail: sgml@ifi.uio.no
  320.         subject: subscribe comp.text.sgml
  321.         body: (blank)
  322.  
  323.  
  324. 05.2 Discussion lists
  325.  
  326. sgml-l - electronic mailing list for discussion of SGML issues. Many
  327. articles posted to comp.text.sgml are echoed to this list. To subscribe:
  328.         mail: listserv@dhdurz1
  329.         subject: (blank)
  330.         body: SUB SGML-L Michael Popham          <NB. use your full name>
  331.               SIGNUP
  332.  
  333. sgml-math - electronic mailing list for discussion of issues relating to the
  334. handling of math under the AAP Standard.  DTD fragments are circulated for
  335. comment.  To subscribe:
  336.         mail: listerv@e-math.ams.com
  337.         subject: (blank)
  338.         body: subscribe sgml-math Michael Popham  <NB. use your full name>
  339.               set sgml-math mail ack
  340.               help
  341.  
  342. sgml-tables - electronic mailing list for discussion of issues relating to the
  343. handling of tables under the AAP Standard.  DTD fragments are circulated for
  344. comment.  To subscribe:
  345.         mail: listerv@e-math.ams.com
  346.         subject: (blank)
  347.         body: subscribe sgml-tables Michael Popham  <NB. use your full name>
  348.               set sgml-tables mail ack
  349.               help
  350.  
  351.  
  352. tei-l - electronic mailing list for discussion/information relating to
  353. the work of the Text Encoding Initative (TEI). To subscribe:
  354.         mail: listserv@uicvm
  355.         subject: (blank)
  356.         body: SUB SGML-L Michael Popham             <NB. use your full name>
  357.               SIGNUP
  358.  
  359.  
  360. 06) Public Domain software
  361. ==========================
  362.  
  363. Note: Public domain products are available from most of the anonymous
  364. ftp archives.  (The full addresses of many of the ftp archives is given
  365. in Robin Cover's on-line Bibliography, or you could search available
  366. archives using ARCHIE).  Older public domain products are also available
  367. from some ftp sites, but are not listed here.
  368.  
  369. ARC-SGML 
  370. A set of SGML Parser Materials, produced by Dr Charles Goldfarb
  371. and made available through the SGML Users' Group.  Contains source code
  372. which can be used to build your own programs to handle SGML; also 
  373. contains a sample application called vm2. Copies on disk are
  374. available through the GCA, SGML SIGhyper, and The SGML Project at the 
  375. University of Exeter.  The orginal source code was written in C to
  376. run on IBM compatible PCs under DOS. The original files and ports to many 
  377. operating systems and platforms (e.g UNIX, Mac) are available for ftp.  
  378. (When searching ftp archives, look for directories/files with names like
  379. "arcsgml" or "ARC-SGML").
  380.  
  381. ICA (Integrated Chameleon Architecture)
  382. A code generating software architecture for producing translators between
  383. different representations of electronic data.  ICA is not SGML-specific.
  384. Runs under UNIX, using X Windows (R4, R5).  The ICA Project is based at
  385. Ohio State University, and all new releases come from there.  Available
  386. for ftp from archive.cis.ohio-state.edu, under the directory pub/chameleon.
  387. (The accompanying PostScript file of documentation runs to 186 pages).
  388. Contact: Peter Ware <ware@edu.ohio-state.cis>
  389.  
  390. qwertz/FORMAT
  391. An SGML to LaTeX and nroff/troff translator produced by
  392. the Qwertz Project at the German National Centre for Computer Science. 
  393. The LaTeX document styles have been re-written as an SGML DTD (the 
  394. qwertz DTD).  SGML documents can be created, and quickly mapped into
  395. a format suitable for processing by a LaTeX, nroff/troff formatter. New
  396. releases are announced on comp.text.sgml.  Available for ftp.  The original
  397. code is available for ftp from gmdzi.gmd.de [129.26.1.90] under the
  398. directory /pub/gmd (get "sgml2latex-format.readme" and "sgml2latex-format.
  399. tar.Z")
  400.  
  401. sgmls 
  402. An SGML parser derived from the ARC-SGML Parser Materials, written
  403. by James Clark.  sgmls outputs a simple, line-oriented, ASCII representation
  404. of an SGML document's Element Structure Information set which can be 
  405. easily parsed by awk, perl, C or whatever.  The idea is that sgmls can be
  406. used as the front end for a structure-controlled SGML application.  New
  407. releases are announced on comp.text.sgml.  sgmls consists of C source
  408. code intended to run under UNIX, but with instructions for porting/compiling
  409. under DOS.  Available for ftp. (look for directories/files with names
  410. like "sgmls", "jclark", "sgmls-0.8.tar.Z").
  411.  
  412.  
  413. 07) Commerical software
  414. =======================
  415. This list is not complete.  Omission from this list is through accident
  416. or ignorance.  A list of products is given, followed by a list of contact
  417. names and addresses.
  418.  
  419. Note: NO VALUE OR "FITNESS FOR PURPOSE" JUDGEMENT IS PLACED ON ANY 
  420. PRODUCT OR SERVICE LISTED.  ALWAYS CHECK WITH THE SUPPLIER TO ENSURE 
  421. THAT ANY PRODUCT (OR COMBINATION OF PRODUCTS) WILL DO WHAT YOU WANT,
  422. AND WILL WORK WITH YOUR COMPUTER/OPERATING SYSTEM.
  423.  
  424. Note: "quasi-WYSIWYG" refers to the capablity of some packages to format
  425. the screen/paper output of an SGML document, such that the two output
  426. representations are similar.
  427.  
  428.  
  429. 07.1) Product list
  430.  
  431. Agfa CAPS - for large-scale publishing. Contact: local Agfa Gevaert office.
  432.  
  433. Agfa SDMS - SGML-based document management system. Contact: local Agfa 
  434.         Gevaert office.
  435.  
  436. Author/Editor - create/edit/validate SGML DTDs and documents (quasi-WYSIWYG).
  437.         Contact: SoftQuad Inc.
  438.  
  439. BASISplus - SGML-aware database system.  Contact: Information Dimensions Inc.
  440.  
  441. DocuBuild SGML - for large-scale (CALS) publishing on DEC VAX.
  442.         Contact: Xerox Corporation.
  443.  
  444. DynaText - on-line SGML document indexing/searching/browsing. Contact:
  445.         Electronic Book Technologies
  446.  
  447. EASE - create/edit/validate SGML DTDs and documents.  Contact: E2S
  448.  
  449. FastTAG - conversion/auto-tagging for scanned hardcopy and electronic
  450.         text files.  Contact: Avalanche Development Company
  451.  
  452. FrameMaker - DTP with some (CALS?) SGML capabilities.  Contact: Frame 
  453.         Technology Corporation
  454.  
  455. Grif - create/edit/validate SGML DTDs and documents (quasi-WYSISWYG), inc.
  456.         graphics. Contact: Grif S.A. 
  457.  
  458. Guide - Guide hypertext from SGML documents.  Contact: Office Workstations
  459.         Limited (OWL)
  460.  
  461. HyMinder - HyTime engine (in production).  Contact: TechnoTeacher, Inc.
  462.  
  463. Interleaf - DTP with some (CALS?) SGML capabilities.  Contact: Interleaf
  464.  
  465. MacroTag - supports macros for using SGML with MS-Word 4.0 or
  466.         WordPerfect 5.0.  Contact: Allen Creek Software.
  467.  
  468. Mark-It - validates SGML DTDs and documents.  Contact: Sema Group Systems
  469.         Limited
  470.  
  471. SGML/CALS Translator - conversion/auto-tagging. Contact: Shafftstall 
  472.         Corporation.
  473.  
  474. SGML-DB - an SGML-aware database system.  Contact: A.I.S/Berger Levrault
  475.  
  476. SGML Hammer - conversion/auto-tagging for SGML documents.
  477.         Contact: Avalanche Development Company
  478.  
  479. SGML Publisher - create/edit/validate SGML DTDs and documents (quasi-
  480.         WYSIWYG), inc. graphics.  Contact: AborText Inc.
  481.  
  482. SGML/Search - an SGML-aware database system (being replaced by SGML-DB)
  483.         Contact: A.I.S/Berger Levrault 
  484.  
  485. SGML Translator - validates SGML documents, translates SGML documents
  486.         to DCF also BookMaster, BookManager.  Contact: IBM 
  487.  
  488. SGML Translator - conversion/auto-tagging. Contact: Shafftstall Corporation.
  489.  
  490. SGML Toolchest - a set of tools to aid the production of SGML documents on
  491.         DEC/VAX machines.  Contact: DEC
  492.  
  493. Silversmith - full-text retrieval system for SGML documents.  Contact:
  494.         Taunton Engineering.
  495.  
  496. TABLETAG - conversion/auto-tagging for Lotus 1-2-3 spreadsheets to 
  497.         CALS, AAP and Author/Editor tables.  Contact: The Unifilt Company.
  498.  
  499. TagWorX - conversion/auto-tagging of scanned documents (within ScanWorX).  
  500.         Contact: Xerox Imaging Systems.
  501.  
  502. TextWrite - create/edit SGML documents.  Contact: IBM
  503.  
  504. TextWrite Tools - create/edit SGML DTDS.  Contact: IBM
  505.  
  506. WordPerfect Markup -  converts between (UNIX) WordPerfect 5.1 and SGML 
  507.         documents.  (In testing until late 1992; release due early 1993?).  
  508.         Contact:  WordPerfect
  509.  
  510. Write-It - create/edit SGML documents.  Contact:  Sema Group Systems Limited
  511.  
  512. WriterStation - create/edit SGML documents.  Contact: Datalogics Inc.
  513.  
  514. XGML Omnimark - conversion/auto-tagging.  Contact: Exoterica Corporation
  515.  
  516. XGML Validator - validates SGML DTDs and documents.  Contact: Exoterica
  517.         Corporation 
  518.  
  519.  
  520. 07.2 Contact list
  521.  
  522. A.I.S/Berger Levrault - 34 Av. du Roule, 92200 Neuilly, France; 
  523.         Phone: +33-1-46-40-10-60: Fax: +33-1-46-40-18-44.
  524.  
  525. AborText Inc.- 533 West William Street, Suite 300, Ann Arbor, MI 48103, 
  526.         USA; Phone: +1-313-996-3566; Fax: +1-313-996-3573; 
  527.         Email: sales@arbortext.com (Internet)
  528.  
  529. Agfa Gevaert - (Your local Agfa Gevaert office/supplier).
  530.  
  531. Allen Creek Software - Carol Kamm, 1209 West Huron, Ann Arbor, MI 48103,
  532.     USA; Phone: +1-313-663-4248.
  533.  
  534. Avalanche Development Company - Eileen Quirk, Director of Marketing and Sales, 
  535.         Avalanche Development Company, 947 Walnut Street, Boulder, CO 80302, 
  536.         USA; Phone:+1-303-449-5032; Fax: +1-303-449-3246; 
  537.         Email: sales@avalanche.com (Internet) 
  538.  
  539. Datalogics Inc. - 441 West Huron Street Chicago, Illinois 60610, USA; 
  540.         Phone: +1-312-266-4444.
  541.  
  542. DEC - (Your local Digital Equipment Corporation (DEC) supplier)
  543.  
  544. E2S - Ronny Verkest, Sales Manager, E2S, Moutstraat 100, B-9000 Gent,
  545.         Belgium; Phone: +32(91)-21-03-83; Fax: +32(91)-20-31-91;
  546.         Email: e2s@e2s.be (Internet)
  547.  
  548. Electronic Book Technologies - One Richmond Square, Providence,
  549.         RI 02906, USA; Phone: +1-401-421-9550; Fax: +1-401-421-9551
  550.  
  551. Exoterica Corporation - 1545 Carling Ave., Suite 404, Ottawa, Ontario,
  552.         Canada K1Z 8P9; Tel: 613-722-1700 (or 1-800-565-XGML 
  553.         for product information); Fax: 613-722-5706. 
  554.         Email: info@xgml.com (enquiries) (Internet)
  555.  
  556. Frame Technology Corporation - 2911 Zanker Road, San Jose, CA 95134, 
  557.         USA; Phone: +1-408-433-3311
  558.  
  559. Grif S.A. - 2 Bd Vauban BP 266, 78053 St-Quentin-en-Yvelines, Cedex, 
  560.         France; Phone: +33-1-30-60-75-10; Fax: +33-1-30-60-75-27
  561.  
  562. IBM - (Your local IBM office)
  563.  
  564. Information Dimensions Inc. - 5080 Tuttle Crossing Boulevard, Dublin, 
  565.         Ohio 43017-3569, USA; Phone: 1-800-DATA-MGT: Fax: 614-761-7290
  566.  
  567. Interleaf - (Your nearest Interleaf supplier)
  568.  
  569. Office Workstations Limited (OWL) - Rosebank House, 144 Broughton Road, 
  570.         Edinburgh EH7 4LE, UK; Phone: +44-31-557-5720; Fax: +44-31-557-5721.
  571.  
  572. Sema Group Systems Limited - Martin Bryan, Sema Group Systems Limited, 
  573.         Avonbridge House, Bath Road, Chippenham, Wiltshire SN15 2BB, UK; 
  574.         Phone:  +44-249-656194; Fax: +44-249-655723
  575.  
  576. Shafftstall Corporation - Anthony L. Shaffstall, VP Sales, 7901 East 88th
  577.         Street, Indianapolis, IN 46256-1235, USA; Phone: +1-317-842-2077
  578.  
  579. SoftQuad Inc. - 56 Aberfoyle Crescent, Suite 810, Toronto, CANADA, M8X 2W4; 
  580.         Phone: +1-416-239-4801; Fax: +1-416-239-7105;  Email: mail@sq.com
  581.         (Internet)
  582.  
  583. Tauton Engineering - John Bottoms, Tauton Engineering Inc., 26 Westvale Road,
  584.         Condord, MA 01742-2935, USA.
  585.  
  586. TechnoTeacher, Inc.- Steve Newcomb, TechnoTeacher, Inc., 1810 High Road, 
  587.         Tallahassee, FL 32303-4408, USA; Phone: +1-904-422-3574; 
  588.         Fax: +1-904-386-2562.
  589.  
  590. The Unifilt Company - Michael Kless (President), PO Box 2528, Edison,
  591.         NJ 08817, USA.  Phone: +1-908-225-2243; Fax: +1-908-225-2248.
  592.  
  593. WordPerfect - (Your local/national WordPerfect Corporation office)
  594.  
  595. Xerox Corporation - Publishing Marketing Manager, 10200 Willow Creek
  596.         Road, San Diego, CA 92131, USA.  Phone: +1-619-695-7789;
  597.         Fax: +1-619-695-7710.
  598.  
  599. Xerox Imaging Systems - 9 Centennial Drive, Peabody, MA 01960, USA.
  600.         Phone: +1-508-977-2000; Fax: +1-508-977-2148.
  601.         (European office): Unit 8, Suttons Business Park, Reading,
  602.         RG6 1AZ, UK.  Phone:+44-734-668421; Fax: +44-734-261913.
  603.  
  604.  
  605.  
  606.  
  607. 08) ftp archives
  608. ================
  609.  
  610. Many ftp archives now hold information on SGML and copies of public
  611. domain software, DTDs etc. (see Robin Cover's on-line Bibliography, or
  612. use ARCHIE to find your nearest ftp site).  The main archives are:
  613.  
  614.         ftp.ifi.uio.no [129.240.88.1]  - University of Oslo, Norway
  615.  
  616.         mailer.cc.fsu.edu [128.186.6.103] - Florida State University, USA
  617.  
  618.         sgml1.ex.ac.uk [144.173.6.61] - Exeter University, UK
  619.  
  620. The ftp archive at Oslo is very well maintained.  Some national archives
  621. mirror the contents of one or more of those mentioned above.
  622.  
  623. Please try to be considerate when using ftp - it is a privilege not a right.
  624. The setting up and maintenance of most archives is done on a voluntary 
  625. basis, using resources that are loaned by the site administrators.
  626.  
  627.  
  628. 09) The SGML Users' Group, National Chapters, SIGs
  629. ==================================================
  630.  
  631. The International SGML Users' Group was set up to promote the use of
  632. SGML and represent the interests of SGML users on various international
  633. bodies.
  634.  
  635. Membership of the International SGML Users' Group (or an affiliated 
  636. National Chapter or SIG), entitles you to receive the Users' Group Newsletter
  637. and Bulletin, and discounts on various books and conferences.
  638.  
  639. For membership details, contact:
  640.  
  641.         Mr Stephen G Downie
  642.         SoftQuad Inc.
  643.         56 Aberfoyle Crescent
  644.         Suite 810
  645.         Toronto, Ontario M8X 2W4
  646.         Canada
  647.  
  648.         Phone: +1-416-239-4801
  649.         Fax: +1-416-239-7105
  650.  
  651. Activities and costs of joining a National Chapter or SIG varies greatly.
  652. Please contact the appropriate person (see below) for more details. Other
  653. CALS SIGs may exist, but I do not have any information about them; I will 
  654. list them if and when details are supplied.
  655.  
  656. 09.1 National Chapters are listed below by country (with contact names):
  657.  
  658. Australia - (Just setting up.  Contact: Nick Carr, PO Box R806, Sydney NSW,
  659.         Australia 2000; Phone: 612-262-4777; Fax 612-262-4774)
  660.  
  661. Canada - Dr Martin Levy (Chairman), Senior Director Regulatory Affairs,
  662.         Vice President Scientific Affairs, Fujisawa Pharmaceutical
  663.         Company, 7181 Woodbine Avenue, Suite 110, Markham, Ontario L3R 1A3
  664.         Canada;  Phone: +1-416-470-7990; Fax: +1-416-470-7799.
  665.  
  666. France - (Just setting up. Watch this space!)
  667.  
  668. Germany - Dr Manfred Kruger, MID/Information Logistics Group GmbH,
  669.         Ringstrasse 15, 6900 Heidelberg, West Germany; Phone: +49-6221-
  670.         166-091; Fax: +49-6221-23921.
  671.  
  672. Japan - Mr Makoto Yoshioka, Research Fellow, Personal Systems Division,
  673.         Fujistu Laboratories Ltd, 1015, Kamikodanaka Nakahara-Ku,
  674.         Kawasaki 211, Japan;  Phone: +81-44-754-2690; Fax:+81-44-754-2594.
  675.  
  676. Netherlands - Mr Jan Maasdam, Samsom Uitgeverij, Postbus 4, 2400 MA
  677.         Alphen aan de Rijn, The Netherlands; Phone: +31-1720-66-612.
  678.  
  679. New Zealand - (See Australia)
  680.  
  681. Norway - Mr Jon Urdal, Fabritius A/S, Brobekkvn. 80, 0583 Oslo 5, Norway.
  682.         Phone: +47-2-636400; Fax: +47-2-636590; Email: ju@gi.no (Internet)
  683.  
  684. South East Asia - (See Australia)
  685.  
  686. Switzerland - Mr Jurgen De Jonghe, AS Division, CERN, Geneva 23,
  687.         Switzerland; Phone: +41-22-767-81-41; Fax: +41-22-782-47-20.
  688.  
  689. UK - Mr Nigel Bray, Database Publishing Systems Ltd., 608 Delta Business
  690.         Park, Great Western Way, Swindon, Wiltshire SN5 7XF, UK;
  691.         Phone:+44-793-512-515; Fax: +44-793-512-516.
  692.  
  693. USA (Colorado) - (Just setting up.  Contact Brian Travis, Editor of <TAG>
  694.         who may have more information)
  695.  
  696. USA (New York) - Mr W Joseph Davidson, SGML Forum of New York, Bowling
  697.         Green Station, P.O. Box 803, New York, NY 10274-0803, USA;
  698.         Phone: +1-212-691-4463; Fax: +1-212-691-1821.
  699.  
  700. USA (Washington/Midwest) - Ms Beth Micksch, Datalogics Inc., 441 West Huron
  701.         Chicago, IL 60611, USA; Phone: +1-312-266-3131; Fax: +1-312
  702.         -266-4473; Email: bem@dlogics.com (Internet)
  703.  
  704.  
  705. 09.2 Special Interest Groups (SIGs):
  706.  
  707. ATA SIG - Ms Dianne Kennedy, Datalogics Inc., 441 West Huron, Chicago,
  708.         IL 60611, USA; Phone: +1-312-266-4483; Fax: +1-312-266-4473;
  709.         Email: dkv@dlogics.com (Internet)
  710.  
  711. CALS in Europe SIG - David Ardron, Secretary, CALS in Europe SIG, Ferranti
  712.         Computer Systems Ltd., Western Road, Bracknell, Berkshire RG12 1RA,
  713.         UK; Phone: +44-344-483232; Fax: +44-344-54639
  714.  
  715. Database SIG - Mr Hans Mabelis, c/o Matrices Software, Westeinde 14,
  716.         1017 ZP Amsterdam, The Netherlands; Phone: +31-20-25-50-06;
  717.         Fax: +31-20-24-79-48.
  718.  
  719. European Workgroup on SGML (EWS) - Mr Holger Wendt, Springer-Verlag GmbH & Co.
  720.         KG, Postfach 105280, Tiergartenstrasse 17 6900, Heidelberg 1,
  721.         Germany;  Phone: +49-6221-487-324; Fax: +49-6221-43982.
  722.  
  723. SGML SIGhyper (The SGML Users' Group SIG on Hypertext and Multimedia) -
  724.         Mr Steven R Newcomb, TechnoTeacher, Inc., 1810 High Road, 
  725.         Tallahassee, FL 32303-4408, USA; Phone: +1-904-422-3574; 
  726.         Fax: +1-904-386-2562.
  727.  
  728.  
  729.  
  730. 09.2 Standards bodies:
  731.  
  732. American National Standards Institute (ANSI) - 1430 Broadway, New York,
  733.        NY 10018, USA.  Phone: +1-212-642-4995.
  734.  
  735. British Standards Institution (BSI) - Linford Wood, Milton Keynes, MK14, UK.
  736.  
  737. International Organization for Standardization (ISO) - 1 Rue de Varembe,
  738.         Case Postale 56, CH-1211 Geneva 20, Switzerland.
  739.  
  740. 10) Conferences
  741. ===============
  742.  
  743. The major SGML-related conferences are organized by the Graphics 
  744. Communications Association (GCA), at reduced rates for GCA members.  Anyone
  745. can attend, and for SGML`92 the GCA have introduced a discount rate for
  746. representatives from academic institutions.  To contact the GCA:
  747.  
  748.         Graphic Communications Association
  749.         100 Daingerfield Road, 4th Fl.
  750.         Alexandria
  751.         VA 22314-2888
  752.         Phone: (703)-519-8157
  753.         Fax: (703)-548-2867
  754.  
  755.  
  756. "International Markup" - Held annually since 1982 in Europe.  General/all
  757. SGML (and closely related issues). Next: 9-12 May 1993, Rotterdam.
  758.  
  759. "SGML" - Held annually in USA.  General/all/specialist SGML (and closely
  760. related issues).  Generally more technical that "International Markup".
  761. Next: 25-30 October 1992, Danvers (MA).
  762.  
  763.  
  764.  
  765. 11) SGML Initiatives and major projects
  766. =======================================
  767.  
  768. This section contains details on:
  769.  
  770.          AAP / EPSIG
  771.          EWS
  772.          TEI
  773.  
  774. 11.1) AAP / EPSIG - Association of American Publishers, Electronic
  775. Publishing Special Interest Group.  Responsible for producing, maintaining
  776. and updating ANSI/NISO Z39.59-1988 (also know as the "AAP Standard").  The
  777. AAP standard consists of a set of DTDs relating to the preparation and
  778. markup of electronic manuscripts.  The standard is currently undergoing
  779. review, and specialist workgroups of interested volunteers are working on
  780. DTDs for handling tables and mathematics (using two electronic discussion 
  781. lists - see the appropriate section, above).  For information, contact:
  782.  
  783.         Betsy Kiser (EPSIG Manager)
  784.         EPSIG
  785.         c/o OCLC
  786.         6565 Frantz Road
  787.         Dublin
  788.         Ohio 43017-0702
  789.         USA
  790.  
  791.         Phone: (614)-764-6195
  792.         Fax: (614)-764-6096
  793.  
  794.  
  795. 11.2) EWS - European Workgroup on SGML.  A collection of major European
  796. publishers, typesetters, printers (and other interested parties), working
  797. toward producing a DTD (or set of DTDs), suitable for publishing scientific
  798. journals, papers etc.  Initally based-on, and still closely watching, work
  799. on the AAP Standard.  EWS DTD(s) currently known as the "MAJOUR DTD" - a
  800. complete version of which is due out at the end of 1992 (a copy of the
  801. header part of the DTD and accompanying handbook was distributed at 
  802. "International Markup `91").  For information, contact:
  803.  
  804.         (See entry for EWS above - in section dealing with
  805.          Special Interest Groups).
  806.  
  807.  
  808. 11.3) TEI - The Text Encoding Initiative.  An international research project
  809. to develop and disseminate guidelines for the encoding and interchange of
  810. machine-readable texts.  Primarily concerned with taking existing texts,
  811. and marking them up with SGML (so as to facilitate later study).  The TEI
  812. has several specialist committees and workgroups e.g. General Linguistics,
  813. Spoken Texts, Historical Studies, Machine Readable Dictionaries, Computational
  814. Lexica, Terminological Databases, Character Sets, Text Criticism, Hypertext
  815. and Hypermedia, Mathematical Formulae and Tables, Language Corpora, Verse,
  816. Performance Texts, Literary Prose.  The TEI maintains two electronic
  817. discussion lists (tei-l and sgml-l), two archives of related documentation
  818. (reports, DTDs, and entity sets), and publishes widely.  For more information,
  819. contact one of the co-ordinators:
  820.  
  821.         C. Michael Sperberg-McQueen
  822.         University of Illinois at Chicago
  823.         Computer Center (M/C 135)
  824.         Box 6998
  825.         Chicago IL 60680
  826.         USA
  827.  
  828.         Phone: +1-312-996-2981
  829.         Fax: +1-312-996-6834
  830.         Email: U35395@uicvm.cc.uic.edu (Internet)
  831.                U35395@UICVM (Bitnet)
  832.  
  833.         Lou Burnard
  834.         Oxford University Computing Service
  835.         13 Banbury Road
  836.         Oxford OX2 6NN
  837.         UK
  838.  
  839.         Phone: +44-865-273-238
  840.         Fax: +44-865-273-275
  841.         Email: LOU@VAX.OX.AC.UK (Internet)
  842.          
  843.  
  844.  
  845.  
  846. 12) SGML and other Standards
  847. ============================
  848.  
  849. Some or all of the Standards mentioned below are described in much more
  850. depth in Robin Cover's on-line Bibliography (users are advised to consult
  851. this).  Copies of International Standards are available through your national
  852. standards body.  Standards are listed below by acronym/title.
  853.     
  854. ASCII - (see Character Sets)
  855.  
  856. Character Sets - 
  857. Being non-proprietary and device-independent, SGML does not restrict users 
  858. to a particular character set.  This is a complex area of SGML, and readers 
  859. are directed to ISO 8879, and the ftp archive of postings to comp.text.sgml 
  860. on this subject (at Oslo) for futher information.
  861.  
  862. DSSSL - Document Style Semantics and Specification Language (ISO/IEC DIS
  863. 10179:1990).
  864. The introduction to the Standard says DSSSL can be used "..for the 
  865. specification of document processing such as formatting and data management
  866. functions, with the initial focus on formatting to both print and on display
  867. media, and data conversion......The objective of the DSSSL Standard is to
  868. provide a formal and rigorous means of expressing the range of document
  869. production specifications, including high-quality typography, required
  870. by the graphics arts industry."  DSSSL is not yet a full International 
  871. Standard.
  872.  
  873. EBCDIC - (see Character Sets)
  874.  
  875. Graphics - (see Proprietary/defacto standards)
  876.  
  877. HyTime - Hypermedia/Time-based Structuring Language (ISO/IEC 10744)
  878. (Extract from Robin Cover's Bibliography:) "HyTime is a standard neutral
  879. markup language for representing hypertext, multimedia, hypermedia and
  880. time- and space-based documents in terms of their logical structure.  Its
  881. purpose is to make hyperdocuments interoperable and maintainable over the
  882. long term.  HyTime can be used to represent documents containing any
  883. combination of digital notations.  HyTime is parsable as Standard Generalized
  884. Markup Language..."  HyTime was accepted as a full International Standard
  885. in spring 1992.
  886.  
  887. ODA - Open (or "Office") Document Architecture (ISO 8613)
  888. This is mentioned because ODA is often presented as if both it and SGML
  889. existed in opposition to one another.  This is not the case.  ODA is a
  890. complex standard, and is undergoing a thorough review; contact your national
  891. standards body for more information.  Papers have been published that 
  892. compare and contrast ODA and SGML (see Robin Cover's on-line Bibliography
  893. for references).  Note: some readers object to postings on ODA being 
  894. sent to comp.text.sgml (try comp.text instead). 
  895.  
  896. Proprietary/defacto standards.
  897. There is a common misconception that SGML exists in competition to some
  898. major existing defacto and proprietary standards (such as PostScript
  899. or TeX/LaTeX).  This is not the case, and as you find out more about SGML
  900. this should become self-evident (however, see SPDL).  Note that SGML
  901. enables the inclusion of data marked up with something other than SGML
  902. (e.g. TeX, Encapsulated PostScript, a Lotus spreadsheet, CCITT/4,
  903. CGM, TIFF etc.)
  904.  
  905. SDIF - SGML Document Interchange Format (ISO 9069:1988)
  906. "A standard describing the interchange for documents enclosed with SGML"
  907. (Eric Van Herwijnen, "Practical SGML")
  908.  
  909. SGML-B - (SGML Binary ?)
  910. A standard for describing a compiled form of SGML (?). James David Mason
  911. (Convenor, ISO/IEC JTC1/SC18/WG8), posted the following message to 
  912. comp.text.sgml (15 Aug 1992) "The official status of SGML-B is that it
  913. is an approved work item in ISO/IEC JTC1/SC18/WG8, the group responsible 
  914. for SGML itself. The editors are Dr. Charles Goldfarb, the SGML project 
  915. leader, and Dr. David Abrahamson, of Trinity College, Dublin. The project 
  916. is being maintained as officially active, with the provision that it will 
  917. not be progressed until the current review and potential revision of SGML 
  918. itself is further along. Our intention is to make SGML-B reflect whatever
  919. revisions we decide to incorporate into the base standard and then to
  920. make it a part of the revised standard rather than something independent.
  921.  
  922. SMDL - Standard Music Description Language (ISO/IEC CD 10743)
  923. (Extract from Robin Cover's Bibliography:) "..SMDL 'defines a 
  924. language for the representation of music information, either alone,
  925. or in conjunction with text, graphics, or other information needed for
  926. publishing or business purposes.'  Multimedia time sequence information
  927. is supported.  SMDL is a HyTime application...."  SMDL came before, and
  928. was the source of inspiration for HyTime.  Not to be confused with
  929. SDML ("Standard Digital Markup Language"?) which is a proprietary standard.
  930.  
  931. SPDL - Standard Page Description Language (ISO/IEC DIS 10190:1991)
  932. A Standard for mapping to (and possibly from) a description language for
  933. output devices.  Thus an SGML document might go through DSSSL- and SPDL-
  934. conforming processes before being output on a printer.  SPDL might be
  935. seen to be competing with defacto standards such as PostScript.
  936.  
  937.  
  938. 13) Introductory questions with answers - by Erik Naggum
  939. ========================================================
  940.  
  941. Note: This section includes the bulk of the text posted by Erik Naggum
  942. to comp.text.sgml as FAQ version 0.0 (Dec. 15 1992).  It contains the
  943. following sections, questions, and answers:
  944.  
  945. <SECTION>INTRODUCTORY QUESTIONS with answers.
  946. <Q>What is SGML, briefly?
  947. <Q>Can I read more about SGML somewhere?
  948. <Q>SGML is often mentioned as being a "meta-language".  What is that?
  949. <Q>What does an SGML document look like?
  950. <Q>Can I get the ARC SGML from somewhere electronically?
  951. <Q>I've received an SGML document from a net.friend, what can I do with it?
  952. <Q>I'm writing a book, and my publisher wants me to submit an SGML
  953.    document on a diskette, what do I do?
  954.  
  955. <SECTION>TECHNICAL QUESTIONS with answers
  956. <Q>What, precisely, is an "element"?
  957. <Q>What is an "entity" in SGML?
  958.  
  959. <SECTION>INTRODUCTORY QUESTIONS with answers.
  960.  
  961. <Q>What is SGML, briefly?
  962.  
  963. <A>SGML is an abbreviation for the "Standard Generalized Markup
  964. Language".  SGML is defined in an International Standard published by
  965. the International Organization for Standardization (ISO), with
  966. reference number ISO 8879:1986, bearing the full name "Information
  967. processing -- Text and office systems -- Standard Generalized Markup
  968. Language (SGML)".
  969.  
  970. To most people, _markup_ means an increase in the price of an article.
  971. Although we talk about increases in value, it's not the same thing.
  972. "Markup" is a term coming from the publishing and printing business,
  973. where it means the instructions for the typesetter that were written
  974. on a typescript or manuscript copy by an editor.  Today, with your
  975. favorite editor, you can enter the markup yourself, or even have it
  976. entered for you, in terms of codes or other instructions for an
  977. electronic typesetting program, which in simple cases is also the
  978. editor.  An example is troff's ".ce" for "center the following line".
  979.  
  980. A _markup_language_ is a set of means (constructs) to express how text
  981. (i.e., that which is not markup) should be processed, or handled in
  982. other ways.  Unlike most other artificial languages, markup languages
  983. have to deal with embedded data, and contain rules for what is markup
  984. and what is data.  For instance, in TeX the backslash means that
  985. subsequent input is TeX instructions.  Most markup languages offer
  986. additional, administrative, language constructs, with which to define
  987. other language constructs (such as macros).
  988.  
  989. _Generalized_markup_ is markup that has the curious property that it
  990. does _not_ specify how things should look.  We still call it markup,
  991. though, because of the similarity with markup as described above.  For
  992. instance, "<Q>" and "<A>" are used in this FAQ to denote Question and
  993. Answer, respectively.  This doesn't say anything about how questions
  994. should look in a typeset edition of this FAQ.  You could have all the
  995. questions rendered in bold-face, for instance.  With generalized
  996. markup, you tell the system _what_ you have, rather than how it should
  997. look, and you do so by putting a label (tag) around the text.  There
  998. is a clear correlation between tags and what things look like.  Tags
  999. are placed at the start and at the end of text or a certain kind, and
  1000. these are precisely the places where typographic features are used,
  1001. such as spacing, change of typeface, etc.  An example is LaTeX, which,
  1002. through macros, let you talk about itemized lists, instead of indents,
  1003. item numbering, among other things.
  1004.  
  1005. The _Standard_Generalized_Markup_Language_ started out as a large set
  1006. of common tags, but it was soon discovered that this would be far too
  1007. large and still not big enough.  So rather than try to outdo Sisyfos
  1008. in pointless and eternal tasks, SGML is a language which makes it
  1009. possible to roll your own generalized markup language, but with a
  1010. standard form and in standard ways.  (In practice, you won't exactly
  1011. roll your own, any more than you design LaTeX packages on your own.
  1012. Although some people actually do that!)  Central to the design of SGML
  1013. is the idea that a set of generic identifiers (the names of the tags),
  1014. together with their interrelationships, form a type (or class) of
  1015. documents, and that every document is an instance of a class, which
  1016. means it can be validated with respect to this class.
  1017.  
  1018. <Q>Can I read more about SGML somewhere?
  1019.  
  1020. <A>Let me suggest only one book, and then a bibliography.  The book is
  1021. Charles F. Goldfarb: The SGML Handbook; Oxford University Press, 1990;
  1022. ISBN 0-19-853737-9.  This book includes the text of the standard, so
  1023. you don't have to worry about finding out how to order it from your
  1024. ISO national member body or directly from ISO in Geneva, or wherever.
  1025. The main feature of this book is that Charles Goldfarb, who is the
  1026. project editor for the standard in ISO's SGML committee, has added a
  1027. tremendous amount of annotations and has provided links between parts
  1028. of the standard to guide your yearning for knowledge.  Another big win
  1029. is the overview, which takes you through a guided tour of concepts and
  1030. facilities.  If there be only one authority on SGML, this book is it.
  1031. A "paper hypertext" feature makes the links in the text easy to
  1032. follow.  This is a book you need.
  1033.  
  1034. The bibliography is Robin Cover's Brief Bibliography, also to be
  1035. published on this newsgroup, and it covers the essentials, as well as
  1036. enough pointers to other works to fill a wall of literature.  Robin
  1037. Cover, et alia, produced the huge, 312-page "Bibliography on SGML"
  1038. (Tech Report 91-299, Queen's University, Kingston, Ontario, Canada),
  1039. an incredibly useful work.  Robin Cover continues to track the SGML
  1040. arena, and hopefully, he will continue to provide us with the fruits
  1041. of his work.
  1042.  
  1043. <Q>SGML is often mentioned as being a "meta-language".  What is that?
  1044.  
  1045. <A>This refers to the fact that SGML isn't only one language, but a
  1046. language which describes other languages within its framework.  As we
  1047. talked about classes of documents and every document being an instance
  1048. of such a class, we talk about a class of markup languages, and every
  1049. markup language being an instance of the class.  SGML also has the
  1050. necessary expressive power to redefine the particular characters that
  1051. are to be considered markup in a particular markup language, so that
  1052. SGML is really a meta-language with an abstract syntax that each SGML
  1053. document fills in to get a concrete syntax and a particular markup
  1054. language for that document.  This is the administrative information
  1055. that makes it possible to talk about "conformance" to SGML.
  1056.  
  1057. <Q>What does an SGML document look like?
  1058.  
  1059. <A>An SGML document is divided into three different parts, each with a
  1060. clearly defined function.
  1061.  
  1062. The first part specifies the character set of the document, which of
  1063. these characters have special meaning to SGML in the rest of the
  1064. document, and which advanced features are used.  This is called the
  1065. "SGML declaration", and is like a list of ingredients on food, so you
  1066. know what to expect and what you can't eat.  Using this as a check-
  1067. list, you can determine whether your system can handle the document at
  1068. hand.  The SGML declaration looks like this:
  1069.  
  1070.     <!SGML "ISO 8879:1986"
  1071.  
  1072. (There are cases where this might be absent.  If the document uses all
  1073. the default features, and a concrete syntax defined in the standard as
  1074. the Reference Concrete Syntax, then nothing needs to be said.  This is
  1075. chiefly useful within a local system.)
  1076.  
  1077. All this talk about an abstract syntax can be a little overwhelming,
  1078. so we'll use the Reference Concrete Syntax unless something is said to
  1079. the contrary.
  1080.  
  1081. The second part of an SGML document specifies the document type and
  1082. thereby the tags that can be used in the document, among a host of
  1083. other things.  Most often, SGML documents have this part external to
  1084. the document itself, so it doesn't look big.  Most users won't see the
  1085. many markup declarations, as they're called, that go into a document
  1086. type, so I'll leave it to the technical part of this FAQ.  Anyway,
  1087. this part consists of document type declarations, and they start thus:
  1088.  
  1089.     <!DOCTYPE
  1090.  
  1091. followed by the name of the document type, and its definition.  A
  1092. simple definition of this FAQ could point to a file "faq", and then
  1093. the document type declaration would like this:
  1094.  
  1095.     <!DOCTYPE faq SYSTEM "faq">
  1096.  
  1097. (There can be several document types, and a another construct called
  1098. link type declarations (similar to DOCTYPE, but with LINKTYPE).)
  1099.  
  1100. The third part of an SGML document is the marked-up "real" document
  1101. which all of the administrative information and legwork makes
  1102. possible.  This is called the document instance.  It usually begins
  1103. with the name of the document in angle brackets, like this;
  1104.  
  1105.     <faq>
  1106.  
  1107. which is the syntax for a start-tag of an element.  The corresponding
  1108. end-tag looks like this:
  1109.  
  1110.     </faq>
  1111.  
  1112. When your parser reads your document, it checks that the tags in the
  1113. document belong to the document type, and that they are allowed where
  1114. they're used, again according to the document type.  This process is
  1115. called "validation".  When a document is validated, it does not need
  1116. to be so again no matter what your parser is instructed to do with it,
  1117. and no matter which application will use the data in the document.
  1118. This is another strength of SGML: application-independent validation.
  1119.  
  1120. <Q>What do you mean "my parser"?  Are there any freely available ones?
  1121.  
  1122. <A>99% of the fun with SGML can be had only with a parser, so you do
  1123. need one.  (The remaining 1% comes from beholding the elegance and
  1124. beauty of the language, and contemplating all the wondrous things you
  1125. can do with it, once you have a parser.  This feeling tends not to
  1126. last, unless you're developing a parser, in which case it's almost all
  1127. the fun.)  Fortunately, a competent programmer and SGML afficionado
  1128. has had a lot of fun lately, and in mid-July 1991, the ARC SGML parser
  1129. materials were released.  The ARC SGML parser materials are legally
  1130. unencumbered (i.e., you can do whatever you want with it) and it's
  1131. available for a nominal cost from the SGML Users' Group, as well as
  1132. from several public SGML repositories.
  1133.  
  1134. <Q>Can I get the ARC SGML from somewhere electronically?
  1135.  
  1136. <A>The University of Oslo, Department of Informatics, kindly sponsors
  1137. a public FTP archive with material on SGML and has the ARC SGML parser
  1138. available for anonymous FTP.  Both the original MS-DOS distribution
  1139. and a Unix port done by James Clark are available.  This archive also
  1140. holds information on some standards related to SGML, most notably an
  1141. SGML application for hypermedia documents (the Hypermedia/Time-based
  1142. structuring language, HyTime).  Take a look around in the SGML and
  1143. SIGhyper subdirectories.  (Anonymous FTP works like this: You need to
  1144. be connected to the Internet, and need a program which can talk the
  1145. FTP protocol, usually something with "FTP" in it.  On Unix systems,
  1146. you can say "ftp ftp.ifi.uio.no", and that should be it.  You will be
  1147. asked for a user name -- reply "anonymous".  You will then be asked
  1148. for a password -- reply with your Internet mail address.  You're now
  1149. logged in, and can use the "cd" command to switch directories ("cdup"
  1150. to go one level up), and "ls" to look around.  Use "get" to fetch
  1151. files.)  If you need guidance, or can't use FTP, you may write to
  1152. <SIGhyper-request@ifi.uio.no>, which I'll try to answer as fast as
  1153. possible.  There are also other FAQs available on how to FTP.
  1154.  
  1155. <Q>I've received an SGML document from a net.friend, what can I do
  1156. with it?
  1157.  
  1158. <A>Didn't your net.friend tell you??  Seriously, an SGML document is,
  1159. as mentioned above, an instance of a document type, and a document
  1160. type can be many things, and it's only part of an application of SGML.
  1161. Such an application consists of several parts: First, there's the
  1162. document type definition, which says which elements you can have, and
  1163. how they interrelate.  Second, with the document type definition,
  1164. there's a description of the semantics of the elements, so you know
  1165. what they mean.  The description is needed because SGML is not
  1166. concerned with what things mean, only how they are represented.  (You
  1167. might complain that this is too small, but it's better to do a given
  1168. task well than to do a greater task badly.  There are other standards
  1169. in the great SGML family which take care of these things, and more are
  1170. coming as we witness increased adoption of SGML in the market.)
  1171.  
  1172. <Q>I'm writing a book, and my publisher wants me to submit an SGML
  1173. document on a diskette, what do I do?
  1174.  
  1175. <A>You take a look at one of the several SGML editing system around,
  1176. and see which you think you would like to write a whole book with.
  1177. Recruit your publisher to help you understand what he wants, and try
  1178. to play with SGML a little before you start writing.  SGML is like,
  1179. um, anyway, it gets better with experience, and can be frightening the
  1180. first time.  For a good list of starter tools, I again refer you to
  1181. Robin Cover's brief bibliography for the details.
  1182.  
  1183.  
  1184. <SECTION>TECHNICAL QUESTIONS with answers
  1185.  
  1186. <Q>What, precisely, is an "element"?
  1187.  
  1188. <A>An element is the smallest part of a document that SGML deals with,
  1189. and it's the basic building block of document types.  An element may
  1190. contain data (text), subelements, both, or it may be empty.  The task
  1191. of a document type designer is to identify the elements a document is
  1192. to consist of, and define a hierarchical structure of these elements
  1193. by means of other elements.  An element definition consists of the
  1194. name (generic identifier) which will be used in tags, a description of
  1195. the content (using a "content model"), and an indication of whether
  1196. the start-tags or the end-tags may be omitted.  An element (in the
  1197. document instance) is indicated by a start-tag, the contents, and an
  1198. end-tag.
  1199.  
  1200. An element, with its notion of content models, provide a powerful
  1201. abstraction over the different kinds of text that can be found in a
  1202. document.  For instance, ordinary text is just characters that will be
  1203. formatted somehow on output.  If you have special kinds of text, such
  1204. as, for instance, a telephone number, it could make sense (depending
  1205. on your application) to make a special element with generic identifer
  1206. "phone".  That way, you can look for telephone numbers and get matches
  1207. only at the right places.  If you're really far-sighted, you would
  1208. define a telephone number notation you associated with this element,
  1209. so that you could check that all your phone numbers had the right
  1210. format.  Then you could modify the presentation of a phone number to
  1211. suit a particular need, e.g. <phone>+1 516 555 8879</phone> in the
  1212. document could come out as "(516) 555 8879" in a domestic catalog and
  1213. with full, international format for an international catalog.
  1214.  
  1215. In a way, elements are like concepts, where a concept (say, "beef") is
  1216. an abstraction over an innumerable lot of things into a particular
  1217. "type" of thing, all having common characteristics, and fits into a
  1218. hierarchy where concepts may be abstractions over other concepts.
  1219. This idea of "types" and of a conceptual tool for text is one of the
  1220. many great things with SGML.  A content model is like the definition
  1221. of a concept, with the important difference that a content model is
  1222. defined in terms of the behavior its subelements.  A subelement may be
  1223. optional, required, or repeatable, and subelements may be chosen from
  1224. a set, form an ordered set, or form an unordered set.  Then there are
  1225. exceptional subelements, which may either be forbidden or allowed
  1226. anywhere in the contents of the element.
  1227.  
  1228. The similarity between element and concepts go further, as elements
  1229. may have attributes.  An attribute is information about an element
  1230. which is not part of its content.
  1231.  
  1232. The element in SGML is thus a high abstraction over identifiable,
  1233. separate portions of contents of a document from a conceptual and
  1234. hierarchical view.
  1235.  
  1236. <Q>What is an "entity" in SGML?
  1237.  
  1238. <A>The notion of an entity is SGML is an even higher abstraction than
  1239. the element, and since this is somewhat unexpected to most readers of
  1240. SGML, it's probably the reason why so many have problems with it.
  1241.  
  1242. The concept of an element comes from looking at the contents of a
  1243. document and grasping that the contents forms an element structure, a
  1244. hierarchy of elements, and that the nature of each element can be
  1245. abstracted so that a content model can be defined which spans the
  1246. varied use of each subelement.
  1247.  
  1248. The concept of an entity comes from looking at the individual pieces of text
  1249. that make up a whole document, and realizing that these pieces are
  1250. independent of the element structure.  E.g., a book may physically consist
  1251. of several files on the author's disks.  The element structure of the book
  1252. spans all the disks and all the files, yet it's important to be able to
  1253. refer to the files.  The both complicating and relieving aspect of this is
  1254. that we need to be able to refer to these pieces in a system- and
  1255. storage-independent way.  This is where the entity saves us a lot of
  1256. trouble.  Entities are named pieces of text.
  1257.  
  1258. The abstraction that causes some confusion is over what a "piece of
  1259. text" is, and, in particular, where it is found.  We have looked at
  1260. external entities, that is, entities which, when we refer to them,
  1261. cause us to read a different file.  We may also need to define short-
  1262. hand notations for things in a document without needing an external
  1263. file for every small piece of text.  This means that entities have
  1264. types, as well.  There are internal entities, entities that are useful
  1265. as short-hands for language constructs, entities that are text which
  1266. is not to be interpreted, etc, and external entities, entities that
  1267. are simply text, entities that are in a special notation, to be
  1268. interpreted by a special program, perhaps with parameters, entities
  1269. which constitute larger parts of the administrative functions of the
  1270. first and second part of the SGML document.
  1271.  
  1272. Moreover, entities may be used both by the administrative parts and
  1273. the user, and the user shouldn't have to worry about which entities
  1274. are used by the administrative functions he doesn't see.  So, entities
  1275. come in two flavors, parameter entities and general entities.
  1276.  
  1277. An "entity", then, is an abstraction over several types of text that
  1278. you want to refer to by name.  Once defined, you don't need to know
  1279. where it is found, or of what kind it is -- all (general) entities
  1280. look and feel the same to the user.
  1281.  
  1282.  
  1283. 14) Making comments/additions to this FAQ
  1284. =========================================
  1285.  
  1286. If you have any additional information, comments or questions, please
  1287. email either of the authors of this FAQ. (Producers and suppliers of
  1288. commercial software should note that we can only provide _very_ brief
  1289. details of their product).  If you wish to include some information,
  1290. please indicate _clearly_ in your message where you think it should
  1291. go in the FAQ (ie. what section etc).
  1292.  
  1293. Email: Erik Naggum <enag@no.uio.ifi>
  1294.        Michael Popham <M.G.Popham@exeter.ac.uk>
  1295.  
  1296. Post: Erik Naggum, Naggum Software, Boks 1570, Vika, 0118 OSLO, Norway;
  1297.       Michael Popham, The SGML Project, Computer Unit, University of Exeter,
  1298.                       Exeter EX4 4QE, UK.
  1299.  
  1300. Fax: (Michael Popham) +44-392-211630
  1301.  
  1302.  
  1303.  
  1304. =========================================================================
  1305. COPYRIGHT NOTICE - Users are free to distribute this information in
  1306. any form, PROVIDED THAT no charge (other than to cover reproduction
  1307. costs) is made, the authors are acknowledged, and the final section on
  1308. "Making comments/additions to this FAQ" and this notice are included
  1309. in all copies.
  1310. =========================================================================
  1311.